Methods and systems for selecting SIM card

ABSTRACT

The present invention discloses methods and systems for selecting at least one SIM card for data communication at a wireless communication device which is capable of housing a plurality of SIM cards. When a switching condition is satisfied, the wireless communication device selects a second SIM card group, and disconnects one or more connections established using any non-second group SIM card. Non-second group SIM cards are SIM cards that are not in the second SIM card group. A selected SIM card from the second SIM card group is then used for data communications. The steps are repeated until (i) the switching condition is no longer satisfied, (ii) no more SIM cards selected from the second SIM card group can be used for data communications or (iii) no more connection is made using non-second group SIM cards.

TECHNICAL FIELD

The present invention relates in general to the field of computernetworks. More particularly, the present invention relates to methodsand systems for selecting at least one SIM card for data communicationat a wireless communication device which is capable of housing aplurality of SIM cards.

BACKGROUND ART

A wireless communication device, such as a router or gateway may be usedin various deployments according to preferences of a user oradministrator. Therefore, at different times, network environment may bedifferent. When network environment changes, there may be disruptions inInternet connectivity. Prior art fails to disclose methods forseamlessly changing connections according to changes in networkenvironment. Therefore, solution is required for ensuring that thewireless communication device is connected to the Internet withoutdisruptions. Furthermore, for example, when there is a change ingeographical location, a user or administrator has to manually configurethe wireless communication device to use a SIM card that belongs to thatparticular geographical location. When there are many devices and SIMcards, it is a hassle to configure each device manually. A solution isrequired for automatically selecting SIM cards according to geographicallocation.

DISCLOSURE OF INVENTION Summary of Invention

The present invention discloses methods and systems for selecting atleast one SIM card at a wireless communication device. The wirelesscommunication device is capable of housing a plurality of SIM cards. Themethod comprises determining whether a switching condition is satisfied.When the switching condition is satisfied, the wireless communicationdevice selects a second SIM card group and disconnects a connectionestablished using a non-second group SIM card. Non-second group SIMcards are SIM cards not in the second SIM card group. The SIM cardselected from the second SIM card group is then used for datacommunications. The above method is repeated until the switchingcondition is no longer satisfied, or no more SIM cards selected from thesecond SIM card group can be used for data communications, or no moreconnection is made using non-second group SIM cards. The wirelesscommunication device is capable of simultaneously using at least one SIMcard from the second SIM card group and at least one non-second groupSIM card to establish a plurality of connections.

According to one of the embodiments of the present invention, theswitching condition is selected from a group consisting of performance,maximizing the number of networks, service provider, usage limit,geographical location, time, user identity, and communicationtechnology. The geographical location can be determined based on signalstrength of networks or network identity. The geographical location canalso be determined using global positioning system (GPS) sensor.

According to one of the embodiments of the present invention, SIM cardsare classified according to a grouping policy. The grouping policy isselected from a group consisting of geographical coverage area,connection bandwidth, time, usage price, usage limit, and signalquality. According to one of the embodiments, the grouping policy forthe second SIM card group is a second geographical area, such that SIMcards associated with networks in the second geographical area aregrouped into the second SIM card group. The switching condition issatisfied when the wireless communication device moves from ageographical coverage area associated with non-second group SIM card tothe second geographical coverage area.

According to one of the embodiments of the present invention, thewireless communication device comprises a plurality of wireless modems,and the plurality of SIM cards connect to available networks using theplurality of wireless modems. At least one wireless modem is used formonitoring signal strength of remaining available networks.

According to one of the embodiments of the present invention, theplurality of SIM cards establish a plurality of end-to-end connections.The plurality of end-to-end connections are bonded to form an aggregatedend-to-end connection.

According to one of the embodiments of the present invention, when theswitching condition is to maximize the number of networks connected, andwhenever the wireless communication device is capable of connecting to anew network, the wireless communication device connects to the newnetwork. This is done in order to maximize the number of networksconnected.

According to one of the embodiments of the present invention, the SIMcard selected from the second SIM card group is capable of using roamingservice. The SIM card connects to a network using roaming service onlywhen the SIM card cannot connect to any other network not using roamingservice.

DETAILED DESCRIPTION

The ensuing description provides preferred exemplary embodiment(s) only,and is not intended to limit the scope, applicability or configurationof the invention. Rather, the ensuing description of the preferredexemplary embodiment(s) will provide those skilled in the art with anenabling description for implementing a preferred exemplary embodimentof the invention. It being understood that various changes may be madein the function and arrangement of elements without departing from thespirit and scope of the invention as set forth in the appended claims.

Specific details are given in the following description to provide athorough understanding of the embodiments. However, it will beunderstood by one of ordinary skill in the art that the embodiments maybe practiced without these specific details. For example, circuits maybe shown in block diagrams in order not to obscure the embodiments inunnecessary detail. In other instances, well-known circuits, processes,algorithms, structures, and techniques may be shown without unnecessarydetail in order to avoid obscuring the embodiments.

Also, it is noted that the embodiments may be described as a processwhich is depicted as a flowchart, a flow diagram, a data flow diagram, astructure diagram, or a block diagram. Although a flowchart may describethe operations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be re-arranged. A process is terminated when itsoperations are completed, but could have additional steps not includedin the figure. A process may correspond to a method, a function, aprocedure, a subroutine, a subprogram, etc. When a process correspondsto a function, its termination corresponds to a return of the functionto the calling function or the main function.

Embodiments, or portions thereof, may be embodied in programinstructions operable upon a processing unit for performing functionsand operations as described herein. The program instructions making upthe various embodiments may be stored in a storage medium.

The program instructions making up the various embodiments may be storedin a storage medium. Moreover, as disclosed herein, the term “storagemedium” may represent one or more devices for storing data, includingread-only memory (ROM), programmable read-only memory (PROM), erasableprogrammable read-only memory (EPROM), random access memory (RAM),magnetic RAM, core memory, floppy disk, flexible disk, hard disk,magnetic tape, CD-ROM, flash memory devices, a memory card and/or othermachine readable mediums for storing information. The term“machine-readable medium” includes, but is not limited to portable orfixed storage devices, optical storage mediums, magnetic mediums, memorychips or cartridges, wireless channels and various other mediums capableof storing, containing or carrying instruction(s) and/or data. Amachine-readable medium can be realized by virtualization, and can be avirtual machine readable medium including a virtual machine readablemedium in a cloud-based instance.

The term computer-readable medium, main memory, or secondary storage, asused herein refers to any medium that participates in providinginstructions to a processing unit for execution. The computer-readablemedium is just one example of a machine-readable medium, which may carryinstructions for implementing any of the methods and/or techniquesdescribed herein. Such a medium may take many forms, including but notlimited to, non-volatile media, volatile media, and transmission media.Non-volatile media includes, for example, optical or magnetic disks.Volatile media includes dynamic memory. Transmission media includescoaxial cables, copper wire and fiber optics. Transmission media canalso take the form of acoustic or light waves, such as those generatedduring radio-wave and infra-red data communications.

A volatile storage may be used for storing temporary variables or otherintermediate information during execution of instructions by aprocessing unit. A non-volatile storage or static storage may be usedfor storing static information and instructions for processor, as wellas various system configuration parameters.

The storage medium may include a number of software modules that may beimplemented as software code to be executed by the processing unit usingany suitable computer instruction type. The software code may be storedas a series of instructions or commands, or as a program in the storagemedium.

Various forms of computer readable media may be involved in carrying oneor more sequences of one or more instructions to the processor forexecution. For example, the instructions may initially be carried on amagnetic disk from a remote computer. Alternatively, a remote computercan load the instructions into its dynamic memory and send theinstructions to the system that runs the one or more sequences of one ormore instructions.

A processing unit may be a microprocessor, a microcontroller, a digitalsignal processor (DSP), any combination of those devices, or any othercircuitry configured to process information.

A processing unit executes program instructions or code segments forimplementing embodiments of the present invention. Furthermore,embodiments may be implemented by hardware, software, firmware,middleware, microcode, hardware description languages, or anycombination thereof. When implemented in software, firmware, middlewareor microcode, the program instructions to perform the necessary tasksmay be stored in a computer readable storage medium. A processingunit(s) can be realized by virtualization, and can be a virtualprocessing unit(s) including a virtual processing unit in a cloud-basedinstance.

Embodiments of the present invention are related to the use of acomputer system for implementing the techniques described herein. In anembodiment, the inventive processing units may reside on a machine suchas a computer platform. According to one embodiment of the invention,the techniques described herein are performed by computer system inresponse to the processing unit executing one or more sequences of oneor more instructions contained in the volatile memory. Such instructionsmay be read into the volatile memory from another computer-readablemedium. Execution of the sequences of instructions contained in thevolatile memory causes the processing unit to perform the process stepsdescribed herein. In alternative embodiments, hard-wired circuitry maybe used in place of or in combination with software instructions toimplement the invention. Thus, embodiments of the invention are notlimited to any specific combination of hardware circuitry and software.

A code segment, such as program instructions, may represent a procedure,a function, a subprogram, a program, a routine, a subroutine, a module,a software package, a class, or any combination of instructions, datastructures, or program statements. A code segment may be coupled toanother code segment or a hardware circuit by passing and/or receivinginformation, data, arguments, parameters, or memory contents.Information, arguments, parameters, data, etc. may be passed, forwarded,or transmitted via any suitable means including memory sharing, messagepassing, token passing, network transmission, etc.

Alternatively, hardwired circuitry may be used in place of, or incombination with, software instructions to implement processesconsistent with the principles of the invention. Thus, implementationsconsistent with principles of the invention are not limited to anyspecific combination of hardware circuitry and software.

A network interface that may be provided by a node is an Ethernetinterface, a frame relay interface, a fibre optic interface, a cableinterface, a DSL interface, a token ring interface, a serial businterface, a universal serial bus (USB) interface, Firewire interface,Peripheral Component Interconnect (PCI) interface, etc.

A network interface may be implemented by a standalone electroniccomponent or may be integrated with other electronic components. Anetwork interface may have no network connection or at least one networkconnection depending on the configuration. A network interface may be anEthernet interface, a frame relay interface, a fibre optic interface, acable interface, a Digital Subscriber Line (DSL) interface, a token ringinterface, a serial bus interface, a universal serial bus (USB)interface, Firewire interface, Peripheral Component Interconnect (PCI)interface, cellular network interface, etc.

A network interface may connect to a wired or wireless access network.An access network may carry one or more network protocol data. A wiredaccess network may be implemented using Ethernet, fiber optic, cable,DSL, frame relay, token ring, serial bus, USB, Firewire, PCI, or anymaterial that can pass information. An wireless access network may beimplemented using infra-red, High-Speed Packet Access (HSPA), HSPA+,Long Term Evolution (LTE), WiMax, General packet radio service (GPRS),Global System for Mobile Communications (GSM), Enhanced Data rates forGSM Evolution (EDGE), Code division multiple access (CDMA), WiFi,CDMA2000, Wideband CDMA (WCDMA), Time Division CDMA (TD-SCDMA),BLUETOOTH, WiBRO, Evolution-Data Optimized (EV-DO); Digital EnhancedCordless Telecommunications (DECT); Digital AMPS (IS-136/TDMA);Integrated Digital Enhanced (iDEN) or any other wireless technologies.For example, a network interface may be used as a local area network(LAN) interface or a wide area network (WAN) interface

Embodiments, or portions thereof, may be embodied in a computer datasignal, which may be in any suitable form for communication over atransmission medium such that it is readable for execution by afunctional device (e.g., processing unit) for performing the operationsdescribed herein. The computer data signal may include any binarydigital electronic signal that can propagate over a transmission mediumsuch as electronic network channels, optical fibers, air,electromagnetic media, radio frequency (RF) links, and the like, andthus the data signal may be in the form of an electrical signal, opticalsignal, radio frequency or other wireless communication signal, etc. Thecode segments may, in certain embodiments, be downloaded via computernetworks such as the Internet, an intranet, LAN, metropolitan areanetwork (MAN), wide area network (WAN), the public switched telephonenetwork (PSTN), a satellite communication system, a cable transmissionsystem, and/or the like.

FIG. 1A is a block diagram illustrating the system of a wirelesscommunications device 100. Wireless communications device 100 comprisesa plurality of wireless modems 101, 102, 103 and 104 and a plurality ofSIM card slots. The plurality of SIM card slots are used for housing SIMcards 111 a, 111 b, 112 a, 112 b, 113 a, 113 b, 114 a and 114 b. In oneexample, any four SIM cards from SIM cards 111 a-114 b can be used forconnecting to networks associated with the SIM cards through the fourwireless modems 101-104 respectively. The user or administrator ofwireless communications device 100 may or may not insert SIM cards inall of the plurality of SIM card slots. Wireless communication device100 also comprises a plurality of network interfaces such as local areanetwork (LAN) interfaces 121 and 122, and wide area network (WAN)interfaces 123 and 124. LAN interfaces 121 and 122 may be wired orwireless LAN interfaces through which hosts can connect to wirelesscommunication device 100. The number of wireless modems is not limitedto four, such that there could be one or more wireless modems.

In one variant, wireless communication device 100 comprises a USBinterface for housing a USB modem, and the USB modem is used forInternet connectivity instead of or in conjunction with the SIM cards.For illustration purposes, the USB modem is a 4G LTE USB modem. Inanother variant, one or more of the plurality of SIM card slots areconnected to wireless communication device 100 through a USB interface.More precisely, a USB modem comprising a SIM card slot is inserted in aUSB interface of wireless communication device 100. Wirelesscommunication device 100 is be able to use a SIM card inserted in theSIM card slot of the USB modem for connecting to a network.

In one of the embodiments of the present invention, each wireless modemis capable of using a plurality of SIM cards, one at a time. Forexample, SIM cards 111 a and 111 b are associated with wireless modem101; SIM cards 112 a and 112 b are associated with wireless modem 102;SIM cards 113 a and 113 b are associated with wireless modem 103; andSIM cards 114 a and 114 b are associated with wireless modem 104.Therefore, when SIM card 112 a is selected to be used, connection with acellular service provider is established through wireless modem 102 andSIM card 112 b cannot be used. Those who are skilled in the art wouldalso appreciate that the SIM card 112 a can also be considered asattached to the cellular service provider. However, even though aplurality of SIM cards are associated with each wireless modem, at agiven time, only one SIM card can be used by a wireless modem, and onewireless modem can be used to communicate using one SIM card only.

FIG. 1B is a block diagram illustrating the architecture of wirelesscommunication device 100, according to one of the embodiments of thepresent invention. Wireless communication device 100 comprisesprocessing unit 130, main memory 131, secondary storage 132, system bus133, network interfaces 134, wireless modems 135, and SIM cards 136.Network interfaces 134 comprises LAN interfaces 121, 122, and WANinterfaces 123 and 124. Wireless modems 135 comprises wireless modems101-104. SIM cards 136 comprises SIM cards 111 a-114 b. Processing unit130 and main memory 131 are connected to each other directly. System bus133 connects processing unit 130 directly or indirectly to secondarystorage 132, network interfaces 134, wireless modems 135, and SIM cards136. Using system bus 133 allows wireless communication device 100 tohave increased modularity. System bus 133 couples processing unit 130 tosecondary storage 132, network interfaces 134, wireless modems 135, andSIM cards 136. System bus 133 can be any of several types of busstructures including a memory bus, a peripheral bus, and a local bususing any of a variety of bus architectures. Secondary storage 132stores program instructions for execution by processing unit 130. Themethods described in the embodiments below are processes carried out byprocessing unit 130.

FIG. 1C is a block diagram illustrating the architecture of wirelesscommunication device 100, according to one of the embodiments of thepresent invention. In this embodiment, wireless modems are capable ofconnecting to SIM cards through selectors. Wireless modem 101 is capableof connecting to SIM cards 111 a or 111 b through selector 137; wirelessmodem 102 is capable of connecting to SIM cards 112 a or 112 b throughselector 138; wireless modem 103 is capable of connecting to SIM cards113 a or 113 b through selector 139; wireless modem 104 is capable ofconnecting to SIM cards 114 a or 114 b through selector 140. Selector137 allows wireless modem 101 to use either SIM card 111 a or 111 b byusing a multiplexing technique. Similarly, selector 138 allows wirelessmodem 102 to use either SIM card 112 a or 112 b; selector 139 allowswireless modem 103 to use either SIM card 113 a or 113 b; and selector140 allows wireless modem 104 to use either SIM card 114 a or 114 b.Selectors 137, 138, 139 and 140 are connected to processing unit 130through system bus 133, and processing unit 130 sends logical inputs toselectors 137, 138, 139 and 140 so that a SIM card can be selected forwireless modems 101, 102, 103, and 104 respectively. For example, whenprocessing unit 130 sends a logical input to selector 137 for selectingSIM card 111 a, wireless modem 101 uses SIM card 111 a and connects to anetwork associated with SIM card 111 a. Wireless modem 101 thereforedoes not use SIM card 111 b.

FIG. 1D is a block diagram illustrating the architecture of wirelesscommunication device 100 according to one of the embodiments of thepresent invention. In this embodiment, one selector can be used for aplurality of wireless modems. Selector 141 is directly connected toprocessing unit 130. Processing unit 130 sends logical inputs toselector 141 in order to select SIM cards to be used by wireless modems101 and 102. Wireless modems 101, 102, 103 and 104 are all connected toselector 141. At a given time, wireless modem 101 is capable ofconnecting to only one of SIM cards 111 a, 111 b, 112 a, 112 b, 113 a,113 b, 114 a, and 114 b. Similarly, at a given time, wireless modem 102is capable of connecting to only one of SIM cards 111 a, 111 b, 112 a,112 b, 113 a, 113 b, 114 a, and 114 b. Wireless modem 101, 102, 103, and104 cannot use the same SIM card simultaneously. For example, processingunit 130 sends four logical inputs to selector 141, i.e. a first logicalinput for selecting a SIM card for wireless modem 101, a second logicalinput for selecting a SIM card for wireless modem 102, a third logicalinput for selecting a SIM card for wireless modem 103, and a fourthlogical input for selecting a SIM card for wireless modem 104. Forillustration purpose, when the first logical input sent to selector 141is to select SIM card 112 a, then wireless modem 101 uses SIM card 112 aand connects to a network associated with SIM card 112 a. When thesecond logical input sent to selector 141 is to select SIM card 111 b,then wireless modem 102 uses SIM card 111 b and connects to a networkassociated with SIM card 111 b. When the third logical input sent toselector 141 is to select SIM card 113 b, then wireless modem 103 usesSIM card 113 b and connects to a network associated with SIM card 113 b.When the fourth logical input sent to selector 141 is to select SIM card113 a, then wireless modem 104 uses SIM card 113 a and connects to anetwork associated with SIM card 113 a.

Examples of a selector for two SIM cards, such as selectors 137 and 138,include TXS02326 Dual-Supply 2:1 SIM Card Multiplexer/Translatorsupplied by Texas Instruments and LTC4557 Dual SIM/Smart Card PowerSupply and Interface supplied by Linear Technology.

In one variant, a wireless modem is only capable of using one SIM card.For example, wireless modem 101 is only capable of using SIM card 111 a.In this case, there may not be a selector for connecting wireless modem101 and SIM card 111 a, such that wireless modem 101 is connected to SIMcard 111 a directly.

FIG. 2 is a flowchart illustrating a process according to one of theembodiments of the present invention. FIG. 2 is viewed in conjunctionwith FIG. 1A for better understanding of the embodiments. FIG. 1A is ageneralized block diagram of wireless communication device 100, and FIG.1B, FIG. 1C and FIG. 1D are more specific and detailed examples of thearchitecture wireless device 100. Therefore, the process of FIG. 2 isalso applicable to FIG. 1B, FIG. 1C and FIG. 1D. Wireless communicationdevice 100 establishes a first, second, third, and fourth connectionwith a first network through wireless modems 101, 102, 103, and 104respectively. SIM cards 111 a, 112 a, 113 a and 114 a are associatedwith the first network. SIM cards 111 b, 112 b, 113 b and 114 b areassociated with a second network. For illustration purposes, SIM cards111 a, 112 a, 113 a and 114 a are comprised in a first SIM card group.SIM cards 111 b, 112 b, 113 b and 114 b are comprised in a second SIMcard group. Classification of the plurality of SIM cards into a firstand second SIM card group is discussed in greater detail later in thespecification. In step 201, wireless communication device 100 monitorswhether a switching condition is satisfied. The switching conditions arediscussed in greater detail below. In one variant, the switchingcondition is based on performance or other factors related to the first,second, third and fourth connections. For example, wirelesscommunication device 100 monitors the signal quality, the bandwidthusage, latency, and/or other values for determining connectionperformance. In another variant, wireless communication device 100monitors its location instead of network performance in step 201. Forexample, location can be monitored using a global positioning system(GPS) sensor. In step 202, wireless communication device 100 determineswhether a switching condition has been satisfied by any of theconnections. If a switching condition is satisfied, wirelesscommunication device 100 switches connection from the first SIM cardgroup to the second SIM card group one by one in step 203. After theswitching is complete, wireless communication device 100 will then haveestablished a fifth, sixth, seventh, and eighth connection with thesecond network for data communication. If the switching condition is notsatisfied, wireless communication device 100 continues using the firstSIM card group for data communication.

It should be noted that each SIM card group, i.e., the first and secondSIM card group, may comprise one or more SIM cards. The scope of theinvention is not limited to the first SIM card group comprising four SIMcards and the second SIM card group comprising four SIM cards.

According to one of the embodiments, the switching condition in step 202is selected from a group consisting of performance, maximizing thenumber of networks, service provider, usage limit, geographicallocation, time, user identity, and communication technology. Theperformance switching condition can be based on one or more ofthroughput, error rates, packet latency, packet jitter, symbol jitter,quality of service, bandwidth, bit error rate, packet error rate, frameerror rate, dropped packet rate, queuing delay, round trip time,capacity, signal level, interference level, bandwidth delay product,handoff delay time, signal-to-interface ratio, and signal-to-noiseratio. In one variant, these switching conditions may also be used forgrouping policies, i.e. for classifying SIM cards into a first SIM cardgroup and a second SIM card group.

In one example, viewing in conjunction with FIG. 1C, SIM cards 111 a,112 a, 113 a, and 114 a are in a first SIM card group, and SIM cards 111b, 112 b, 113 b and 114 b are in a second SIM card group. SIM cards 111a, 112 a, 113 a, and 114 a are associated with a first network and SIMcards 111 b, 112 b, 113 b and 114 b are associated with a secondnetwork. As wireless modem 101, 102, 103, and 104 is only capable ofusing one of SIM cards 111 a-111 b, 112 a-112 b, 113 a-113 b and 114a-114 b respectively at a given time, SIM cards 111 a, 112 a, 113 a, and114 b are in the first SIM card group and SIM cards 111 b, 112 b, 113 band 114 b are in the second SIM card group. When a switching conditionis satisfied in step 202, connection is switched from to the second SIMcard group in step 203. Wireless communication device 100 then connectsto the second network through wireless modem 101 using SIM card 111 b,through wireless modem 102 using SIM card 112 b, through wireless modem103 using SIM card 113 b, and through wireless modem 104 using SIM card114 b.

In another example, viewing in conjunction with FIG. 1D, SIM cards 111a, 111 b, and 112 a are in a first SIM card group, SIM cards 112 b, 113a, 113 b are in a second SIM card group, and SIM cards 114 a and 114 bare in a third SIM card group. SIM cards 112 b, 113 a and 113 b areassociated with a second network. SIM cards 111 a-114 b can be used byany of wireless modems 101-104. Wireless communication device 100 mayinitially be connected to networks associated with the first or thirdSIM card group. When a switching condition is satisfied in step 202,connection is switched to the second SIM card group in step 203. Forillustration purpose, wireless communication device 100 then connects tothe second network through wireless modem 101 using SIM card 112 b,through wireless modem 102 using SIM card 113 a, and through wirelessmodem 103 using SIM card 113 b. The scope of the invention is notlimited to switching from the first SIM card group to the second SIMcard group, such that connection can be switched from other SIM cardgroups to the second SIM card group. Therefore, in step 203, connectioncan be switched from the first SIM card group to the second SIM cardgroup, or connection can also be switched from the third SIM card groupto the second SIM card group.

Maximizing the Number of Networks:

According to one of the embodiments of the present invention, theswitching condition is to maximize the number of networks connected. Theswitching condition in step 202 is satisfied when wireless communicationdevice 100 becomes capable of connecting to more networks than it iscurrently connected to. One of the benefits of maximizing the number ofnetworks is that even if connection to one or more networks fails forsome reason, wireless communication device 100 may have Internetconnectivity through the other connected networks. Whenever a newnetwork is available, and wireless communication device 100 is capableof connecting to the new network, switching condition is then satisfiedin step 202, and wireless communication device 100 connects to the newnetwork in step 203. It should be noted that wireless communicationdevice 100 comprises four wireless modems, and thus can establish fourconnections using four SIM cards respectively.

This disclosure comprises tables, namely TABLE 0001, TABLE 0002, TABLE0003, TABLE 0004, TABLE 0005, TABLE 0006, TABLE 0007 and TABLE 0008. Inthe following tables, “connected” means that wireless communicationdevice 100 is connected to the network using the corresponding SIM cardthrough the corresponding wireless modem. An empty cell, “- -” meansthat the corresponding SIM card is not being used to connect to thenetwork, or a SIM card is not being used by any wireless modem forconnecting to any network. “Available” means that the SIM card iscapable of connecting to the network, i.e., the network is available forconnection using the corresponding SIM card, but is not currentlyconnected to. “Not connected” means that the SIM card is not connectedto the network. In TABLE 0006, “Associated” means that the SIM card isassociated with the service provider, i.e., the service providerprovides services of the SIM card. “Not Associated” means that the SIMcard is not associated with the service provider.

For illustration purpose, in one example, wireless modem 101 andwireless modem 102 are using SIM card 111 a and 112 a respectively toconnect to a first network, and wireless modem 103 uses SIM card 113 ato connect to a second network. Therefore, wireless communication device100 is initially connected to two networks by using three SIM cards.Table 0001 illustrates initial connections using each SIM card.

TABLE 0001 Wire- less First Second Third modem Network Network NetworkSIM card 111a 101 Connected — — SIM card 111b — — — — SIM card 112a 102Connected — Available SIM card 112b — — — — SIM card 113a 103 —Connected — SIM card 113b — — — — SIM card 114a — — — Available SIM card114b — — — —

Then, when a new network, such as a third network, is available forconnection using SIM cards 114 a and 112 a, wireless communicationdevice 100 connects to the third network using at least one of SIM cards114 a and 112 a in step 203. Since wireless modem 104 is not being used,wireless communication device 100 connects to the new network usingwireless modem 104 without disconnecting any connection to currentnetworks. In one example of this embodiment, viewing in conjunction withFIG. 1C, wireless modem 104 is capable of using SIM card 114 a or 114 b.Therefore, wireless modem 104 uses SIM card 114 a to connect to thethird network. SIM card 112 a is not used by wireless modem 104 becausewireless modem 104 is not capable of using SIM card 112 a, asillustrated in FIG. 1C. Wireless communication device 100 is thenconnected to three networks: the first network through wireless modem101 using SIM cards 111 a and 112 a, the second network through wirelessmodem 103 using SIM card 113 a, and the third network through wirelessmodem 104 using SIM card 114 a. Table 0002 illustrates connections ofSIM cards after step 203 has been performed in this example.

TABLE 0002 Wire- less First Second Third FIG. 1C modem Network NetworkNetwork SIM card 111a 101 Connected — — SIM card 111b — — — — SIM card112a 102 Connected — Available SIM card 112b — — — — SIM card 113a 103 —Connected — SIM card 113b — — — — SIM card 114a 104 — — Connected SIMcard 114b — — — —

In one variant, a new network is available for connection only by usingone particular SIM card. For illustration purpose, and continuing withthe same example, the third network is available for connection usingSIM card 112 b only. Viewing in conjunction with FIG. 1D, only wirelessmodem 102 is capable of using SIM card 112 b. In order to connect to thethird network, wireless modem 102 stops using SIM card 112 a to connectto the first network, and start using SIM card 112 b to connect to thethird network. Since wireless communication device 100 has alreadyconnected to the first network using SIM card 111 a as well, wirelesscommunication device 100 is still connected to the first network evenafter wireless modem 102 has stopped using SIM card 112 a to connect tothe first network. Wireless modem 102 can then use SIM card 112 b toconnect to the third network. Wireless communication device 100 is thenconnected to three networks: the first network through wireless modem101 using SIM card 111 a, the second network through wireless modem 103using SIM card 113 a, and the third network through wireless modem 102using SIM card 112 b. For illustration purpose, if a fourth network isavailable and can be connected by using SIM card 114 a, wireless modem104 will then use SIM card 114 a to connect to the fourth network inorder to maximize the number of networks connected. Wirelesscommunication device 100 is then connected to four networks: the firstnetwork through wireless modem 101 using SIM card 111 a, the secondnetwork through wireless modem 103 using SIM card 113 a, the thirdnetwork through wireless modem 102 using SIM card 112 b, and the fourthnetwork through wireless modem 104 using SIM card 114 a. Table 0003illustrates connections of SIM cards after wireless communication device100 connects to the fourth network.

TABLE 0003 Wire- less First Second Third Fourth FIG. 1C modem NetworkNetwork Network Network SIM card 111a 101 Connected — — — SIM card 111b— — — — — SIM card 112a — Not — — — connected SIM card 112b 102 — —Connected — SIM card 113a 103 — Connected — — SIM card 113b — — — — —SIM card 114a 104 — — — Connected SIM card 114b — — — — —

In another example of this embodiment, viewing in conjunction with FIG.1D, wireless modems 101-104 are capable of using any of SIM cards 111a-114 b. For illustration purpose, the third network is available forconnection using SIM card 113 b only. Since wireless modem 104 is notbeing used initially, wireless communication device 100 connects to thethird network using wireless modem 104 without disconnecting anyconnection to current networks. Therefore, wireless modem 104 uses SIMcard 113 b to connect to the third network. Wireless communicationdevice 100 is then connected to three networks: the first networkthrough wireless modem 101 and wireless modem 102 using SIM card 111 aand 112 a respectively, the second network through wireless modem 103using SIM card 113 a, and the third network through wireless modem 104using SIM card 113 b. Table 0004 illustrates connections of SIM cards inthis example.

TABLE 0004 Wire- less First Second Third FIG. 1D modem Network NetworkNetwork SIM card 111a 101 Connected — — SIM card 111b — — — — SIM card112a 102 Connected — — SIM card 112b — — — — SIM card 113a 103 —Connected — SIM card 113b 104 — — Connected SIM card 114a — — — — SIMcard 114b — — — —

In another example of this embodiment, initially wireless modem 101 andwireless modem 102 uses SIM card 111 a and 112 a respectively to connectto a first network; wireless modem 103 uses SIM card 113 a to connect toa second network; wireless modem 104 uses SIM card 113 b to connect to athird network, as illustrated in Table 0004. Therefore, wirelesscommunication device 100 is connected to three networks initially.Viewing in conjunction with FIG. 1D, wireless modems 101-104 are capableof using any of SIM cards 111 a-114 b. Since all four wireless modems101-104 are in use, connection of at least one wireless modem to acurrent network needs to be disconnected first before connecting to anew network. When a fourth network is available for connection through aSIM card, such as SIM card 114 a, wireless communication device 100connects to the fourth network using at least one SIM card in step 203.As wireless communication device 100 has been connected to the firstnetwork using two SIM cards, connection of one of the wireless modemsconnecting to the first network is disconnected in order to allow awireless modem to become available for connecting to a fourth network.Connection of wireless modem 102 to the first network is disconnected.Therefore, wireless modem 102 stops using SIM card 112 a, and startsusing SIM card 114 a to connect to the fourth network. Wirelesscommunication device 100 is then connected to four networks: the firstnetwork through wireless modem 101 using SIM card 111 a, the secondnetwork through wireless modem 103 using SIM card 113 a, the thirdnetwork through wireless modem 104 using SIM card 113 b, and the fourthnetwork through wireless modem 102 using SIM card 114 a. In this way,number of networks is maximized. Table 0005 illustrates connections ofSIM cards in this example.

TABLE 0005 Wire- less First Second Third Fourth FIG. 1D modem NetworkNetwork Network Network SIM card 111a 101 Connected — — — SIM card 111b— — — — — SIM card 112a — Not — — — connected SIM card 112b — — — — —SIM card 113a 103 — Connected — — SIM card 113b 104 — — Connected — SIMcard 114a 102 — — — Connected SIM card 114b — — — — —

Service Provider:

In one of the embodiments, a switching condition is based on, at leastin part, the service provider of the SIM cards. A switching condition isto connect to a service provider, such as service provider B as much aspossible. The SIM cards are classified into groups according to serviceproviders, such that a SIM card provided by another service provider,such as service provider A is in a first SIM card group, and a SIM cardprovided by service provider B is in a second SIM card group. Forexample, it is found that service provider B provides more reliableservice than service provider A provides. Therefore, switching conditionis satisfied in step 202 whenever wireless communication device 100 iscapable of connecting to networks of service provider B. Thereforeconnection is switched from the first SIM card group to the second SIMcard group in step 203 when wireless communication device 100 is capableof connecting to service provider B.

In one example of this embodiment, viewing in conjunction with FIG. 1D,wireless modems 101-104 are capable of using any of SIM cards 111 a-114b for data communication. Therefore, any of the wireless modems 101-104can use the SIM cards 111 a, 111 b, 112 a, 112 b, 113 a and 114 a forconnecting to service providers A, B, or C. Further, in this example,service providers A, B and C operate in three different geographicalareas. There may be overlapping areas where wireless communicationdevice 100 may be capable of connecting to networks of two or more ofservice providers A, B, and C. Wireless communication device 100 canonly use four SIM cards at a time, as there are only four wirelessmodems. Table 0006 illustrates association of SIM cards with serviceproviders in this example.

TABLE 0006 SIM card Service Service Service group Provider A Provider BProvider C SIM card 111a First Associated Not Not Associated AssociatedSIM card 111b Second Associated Associated Not Associated SIM card 112aSecond Not Associated Associated Associated SIM card 112b Second NotAssociated Not Associated Associated SIM card 113a Third Not NotAssociated Associated Associated SIM card 113a — — — — SIM card 114aSecond Not Associated Not Associated Associated SIM card 114b — — — —

SIM cards of the first and third SIM card group can be referred to asnon-second group SIM cards. Preference is given to the second SIM cardgroup over non-second group SIM cards, as the second SIM card group isassociated with service provider B. Switching condition is satisfiedwhenever a network associated with service provider B is available. Whena network of service provider B is not available, wireless communicationdevice 100 connects to any other available network, such as a network ofservice provider A or C. When a network of service provider B isavailable, a switching condition is satisfied in step 202. As serviceprovider B is a preferred service provider SIM card 111 b connects tothe network of service provider B in step 203, even if networks ofservice provider A are available. SIM card 112 a connects to the networkof service provider B in step 203, even if networks of service providerC are available. Wireless communication device 100 switches connectionfrom SIM cards 111 a and 113 a to 112 b and 114 a respectively in step203. More precisely, wireless communication device 100 stops using SIMcards 111 a and 113 a because they are provided by service provider Aand C respectively, and starts using SIM cards 112B and 114 a, which arein the second SIM card group, because they are provided by serviceprovider B.

In another example of this embodiment, viewing in conjunction with FIG.1C, wireless modem 101 is only capable of using SIM cards 111 a and 111b, wireless modem 102 is only capable of using SIM cards 112 a and 112b, wireless modem 103 is only capable of using SIM cards 113 a and 113b, and wireless modem 104 is only capable of using SIM cards 114 a and114 b. For illustration purpose, SIM cards 111 a, 112 a, and 113 a areassociated with service provider A, and are in a first SIM card group.SIM cards 111 b and 112 b are associated with service provider B, andare in a second SIM card group. The switching condition is to useservice provider B as much as possible. When networks of serviceprovider A are available, and no network of service provider B isavailable, wireless modems 101, 102 and 103 use SIM cards 111 a, 112 aand 113 a respectively to connect to service provider A. When a networkof service provider B becomes available, the switching condition issatisfied in step 202 and step 203 is performed. As SIM cards 111 b and112 b are associated with service provider B, wireless communicationdevice uses SIM cards 111 b and 112 b to connect to service provider B.Wireless modem 101 stops using SIM card 111 a, and starts using SIM card111 b to connect to service provider B. Similarly, wireless modem 102stops using SIM card 112 a and starts using SIM card 112 b to connect toservice provider B. Wireless modem 104 cannot connect to serviceprovider B because it is not capable of using SIM card 111 b or 112 b.

Usage Limit:

It is common that a service provider charges a lower price per MegaByte(MB) when the usage is below a certain threshold set by the serviceprovider associated with a service plan of a SM card, and when the usagegoes above the certain threshold, the price per MB increases. Therefore,by making the usage limit equal to the certain threshold, cost of usingthe SIM card for Internet connectivity is minimized. In one of theembodiments, a switching condition is based on, at least in part, ausage limit for connection associated with the SIM card. For example,the switching condition is satisfied in step 202 when a usage limit ofone or more SIM cards in the first SIM card group has been reached orabout to be reached. Wireless communication device 100 then switchesfrom the one or more SIM cards whose usage limit is reached or about tobe reached to one or more SIM cards of the second SIM card group in step203. In one variant, wireless communication device 100 switches from allavailable SIM cards of the first SIM card group to all available SIMcards of the second SIM card group in step 203. For illustrationpurpose, a service plan of SIM card 111 a is such that the certainthreshold is 10 GB, i.e. 10 GB of data can be purchased for a fixedcost, where the price per MB is 1 cent. When the 10 GB of data is usedup, the price per MB is increased to 2 cents. Therefore, when SIM card111 a is used for Internet connectivity after exceeding 10 GB of data,usage price of 2 cents is charged for per MB data. In order to reducecost, usage limit of SIM card 111 a is set to 10 GB or a value slightlybelow 10 GB. When the usage limit has been reached or about to bereached, switching condition is satisfied in step 202 and wirelesscommunication device 100 stops using SIM card 111 a and starts usinganother SIM card from the second SIM card group in step 203 instead ofusing SIM card 111 a. Preferably, wireless communication device 100starts using a SIM card whose usage limit has not been reached and isnot about to be reached yet. In one variant, when a usage limit is aboutto be reached, a notification is also sent to a user or administrator toinform that the usage limit is about to be reached.

In one of the embodiments, SIM cards can be classified according to agrouping policy based on usage limit and remaining data. Remaining datais the amount of unused data in a service plan associated with a SIMcard. For illustration purpose, when a service plan associated with aSIM card is such that the certain threshold is 10 GB, and 4 GB is usedup, the remaining data is 6 GB. SIM cards whose usage limit has beenreached or is about to be reached are classified into a first SIM cardgroup. SIM cards whose usage limit has not been reached and is not aboutto be reached are classified into a second SIM card group. When usagelimit of a SIM card in the first SIM card group has been reached orabout to be reached, switching condition is satisfied in step 202 andwireless communication device 100 stops using the SIM card in the firstSIM card group and starts using another SIM card from the second SIMcard group for data communications in step 203.

Time:

It is common that there are differences in cost, performance andreliability of connections during peak and off-peak hours. In one of theembodiments, a switching condition is based on, at least in part, thetime. For example, at a certain time in the day, it is more preferableto use the second SIM card group than to use the first SIM card group.Therefore, the switching condition is satisfied in step 202 at thecertain time, and wireless communication device 100 switches connectionfrom the first SIM card group to the second SIM card group in step 203.It is common that usage price is different at different times of the dayor different days of a month or year.

User Identity:

In one of the embodiments, a switching condition is based on, at leastin part, the user identity. For example, user authentication is requiredto configure or access wireless communication device 100 for Internetconnectivity. According to the identity of users, certain SIM cardconnections may be reserved for certain users. The SIM cards areclassified into the first and second SIM card groups based on which usergroup the SIM cards belong to. The first SIM card group can be reservedfor a first user group and the second SIM card group can be reserved fora second user group. When a user of the first user group is usingwireless communications device 100, first SIM card group is used. Whenthe second user group is using the wireless communications device 100,the switching condition is satisfied in step 202 and connection isswitched from the first SIM card group to the second SIM card group instep 203. It is beneficial to have a switching condition based on theuser identity when there is more than one user, wherein each user mayhave different preferences for SIM cards.

In another example of this embodiment, users from only one user groupcan use wireless communications device 100 at a given time. Therefore,at a given time, wireless communications device 100 only uses either thefirst SIM card group or the second SIM card group.

In another example of this embodiment, users from both the first andsecond user groups can use wireless communication device 100 at the sametime. In one variant, as wireless communication device 100 has aplurality of LAN interfaces, each LAN interface can be assigned to aspecific user group. For example, LAN interface 121 and a first wirelessLAN (WLAN) interface is assigned to the first user group, and LANinterface 122 and a second WLAN interface is assigned to the second usergroup. The first and second WLAN interfaces may utilize Wi-Fi technologyto provide internet connectivity to users. In one variant, there aredifferent service set identifiers (SSIDs) for each user group, and eachuser group connects to networks of different SIM cards using thedifferent SSIDs. For example, users from a first user group connects towireless communications device 100 through LAN interface 121 and/or thefirst WLAN interface using a first SSID. Users from a second user groupconnects to wireless communications device 100 through LAN interface 122and/or the second WLAN interface using a second SSID. Data associatedwith the first user group is transmitted and received using SIM cards ofthe first SIM card group, and data associated with the second user groupis transmitted and received using SIM cards of the second SIM cardgroup.

Communication Technology:

In one of the embodiments, a switching condition is based on, at leastin part, the communication technology. Communication technologiesinclude wireless technologies, Wi-Fi, WiMax, High-Speed Packet Accesstechnology, 3GPP Long Term Evolution (LTE), 4G LTE, or the like. Itshould be appreciated that certain communication technologies providebetter communication performance compared to other communicationtechnologies. Therefore, a communication technology providing betterperformance may be preferred. For example, the plurality of SIM cardsare classified into the first SIM card group and the second SIM cardgroup according to the communication technology. If one or more SIMcards of the first SIM card group changes connection from 3G to 2G orfrom 4G to 3G, switching condition is satisfied in step 202 and wirelesscommunication device 100 switches connection from the first SIM cardgroup to the second SIM card group in step 203. It is beneficial to havea switching condition based on the communication technology because ofthe varying features of different communication technologies, whereinsome specific features of certain communication technologies may bedesired by users of wireless communication device 100.

Geographical Location:

In one of the embodiments, the switching condition is based ongeographical location of wireless communication device 100. Forillustration purposes, wireless communication device 100 is mounted on amoving vehicle. The second SIM card group is associated with a networkhaving coverage in the particular geographical location. Therefore, whenthe switching condition is satisfied, wireless communications device 100switches to the second SIM card group. The switching condition issatisfied when wireless communication device 100 is within a range of aparticular geographical location. As the vehicle is moving, thegeographical location of wireless communication device 100 may changefrequently. A global positioning system (GPS) sensor is used by wirelesscommunication device 100 to determine its geographical location. The GPSsensor is preferably housed inside wireless communication device 100.Alternatively the GPS sensor may also be a part of the vehicle, suchthat the GPS sensor is connected to wireless communication device 100wirelessly or through a physical connection so that the GPS sensor iscapable of sending information regarding geographical location towireless communication device 100. When wireless communication device100 enters the range of the particular geographical location, determinesthat the switching condition is satisfied. As the switching condition issatisfied, step 203 is performed by wireless communication device 100.

In one variant, wireless communication device 100 comprises a coveragenoticer. The coverage noticer is integrated into wireless communicationdevice 100, such that when the connection is switched to the second SIMcard group after receiving information from the coverage noticer thatwireless communication device 100 is outside the coverage area ofnetworks associated with the first SIM card group.

According to one of the embodiments of the present invention,information of coverage area for network(s) associated with the SIMcards housed in wireless communication device 100 are stored in astorage medium. In one variant, when a SIM card is inserted, processingunit determines whether information of coverage area of a networkassociated with the SIM card has already been stored in the storagemedium earlier. If the information of coverage area of the networkassociated with the SIM card has not been stored, the information ofcoverage area is retrieved from a remote server, and then stored in thestorage medium. The remote server may be accessible through theInternet. In one variant, with the help of the information of coveragearea and signals from the GPS sensor, wireless communication device 100determines that it is about to move out of the coverage area ofnetwork(s) associated with the first SIM card group, and/or it isalready inside the coverage area of network(s) associated with thesecond SIM card group.

In one example of this embodiment, a vehicle, such as a ferry, istravelling from Country A to Country B. Wireless communication device100 is mounted on the ferry. Signals regarding geographical location ofthe ferry and wireless communication device 100 is received from the GPSsensor. A plurality of SIM cards are housed in wireless communicationdevice 100. The plurality of SIM cards are classified into a first SIMcard group and a second SIM card group, such that SIM cards in the firstSIM card group are provided by service providers of Country A, and SIMcards in the second SIM card group are provided by service providers ofcountry B. Information of coverage area of service providers of CountryA and Country B may be stored in a storage medium of wirelesscommunication device 100. It is possible that some areas are covered byservice providers of both Country A and Country B. When the ferry is inCountry A, wireless communication device 100 is connected to theInternet using the first SIM card group. With the help of informationfrom the GPS sensor and information of coverage area, wirelesscommunication device 100 determines that it is about to move out of thecoverage area of service providers of country A as the ferry moves fromCountry A to Country B. Wireless communication device 100 then switchesconnection from the first SIM card group to the second SIM card groupaccording to the process of FIG. 3A or FIG. 3B.

In one of the embodiments, the switching condition is based ongeographical location and/or signal quality. When wireless communicationdevice 100 is connected using SIM cards of the first SIM card group,wireless modem 104 may be used as a monitoring wireless modem. Moreprecisely, wireless communication device 100 monitors the signal qualityof connections corresponding to the second SIM card group using wirelessmodem 104. When there are a plurality of available SIM cards in thesecond SIM card group, wireless communication device 100 connects to anetwork associated with each available SIM card of the second SIM cardgroup one by one using wireless modem 104. If wireless communicationdevice 100 determines that signal quality of networks associated withthe second SIM card group is better than signal quality of networksassociated with the first SIM card group, wireless communication device100 switches to the second SIM card group according to the process ofFIG. 3A or FIG. 3B.

In one of the embodiments, the switching condition may also be based oninstruction from administrator or a notification from an ISP. Forexample, if wireless communication device 100 receives an instructionfrom an administrator to switch connection from one SIM card to anotherSIM card, step 403 is performed. The instruction is received through aweb interface, command line interface, application programminginterface, and/or SMS message. In another example, an SMS message isreceived from a service provider of a SIM card that the networkassociated with the SIM card will undergo maintenance, and thus theremay be disruptions in connectivity. The SMS message is received usingthe SIM card. Wireless communication device 100 then performs step 403and connects to another SIM card instead, in order to avoid anyconnection drops.

Grouping Policy

According to one of the embodiments of the present invention, SIM cardsare classified into a plurality of groups, such as the first and secondSIM card groups, according to at least one grouping policy. Groupingpolicies can be based on various factors such as geographical coveragearea, connection bandwidth, time, network identity, service provider,usage price and signal quality. One of the benefits of classifying SIMcards according to grouping policies is that networks of SIM cards ofthe same group can be used according to changes in network environment.The grouping policies and switching conditions are preferably based onthe same factors, such that when a switching condition is satisfied,wireless communication device 100 can switch from one group of SIM cardsto another group of SIM cards.

In one example of this embodiment, a plurality of SIM cards housed inwireless communication device 100 are classified into a first SIM cardgroup and a second SIM card group. SIM cards provided by ISPs of a firstgeographical area are classified into the first SIM card group, and SIMcards provided by ISPs of a second geographical area are classified intothe second SIM card group.

In another example of this embodiment, SIM cards associated with aservice plan with connection bandwidth higher than or equal to 1 Mbps isclassified into the first SIM card group, and SIM cards associated witha service plan with connection bandwidth lower than 1 Mbps is classifiedinto the second SIM card group. In this example, a switching conditionis to switch connection from the first SIM card group to the second SIMcard group when the data to be transmitted and received does not requirehigh bandwidth. This may reduce usage cost, as usage cost of highbandwidth connections may be higher than that of low bandwidthconnections.

In another example of this embodiment, SIM cards to be used during afirst time period are classified into a first SIM card group, and SIMcards to be used during a second time period are classified into asecond SIM card group. For illustration purpose, SIM cards that havebetter performance in peak hours (12:00 PM to 12:00 AM) are in a firstSIM card group, and remaining SIM cards are in a second SIM card group.In this example a switching condition is to switch connection to thesecond SIM card group at 12:00 AM, and use the second SIM card group inthe off-peak hours. During peak hours, SIM cards of the first SIM cardgroup are used, as they have better performance. It should beappreciated that there may be differences in cost, performance andreliability of connections during peak and off-peak hours.

In another example of this embodiment, viewing in conjunction with FIG.1C, grouping policy is that SIM cards that can be used by the samewireless modem are classified into different SIM card groups. Forillustration purpose, since SIM cards 111 a and 111 b can be used bywireless modem 101, they are in different SIM card groups, such as afirst SIM card group and a second SIM card group respectively.Similarly, since SIM cards 112 a and 112 b can be used by wireless modem102, SIM card 112 a is in the first SIM card group and SIM card 112 b isin the second SIM card group. Since SIM cards 113 a and 113 b can beused by wireless modem 103, SIM card 113 a is in the first SIM cardgroup and SIM card 113 b is in the second SIM card group. Since SIMcards 114 a and 114 b can be used by wireless modem 104, SIM card 114 ais in the first SIM card group and SIM card 114 b is in the second SIMcard group. The benefit of classifying SIM cards with this groupingpolicy is that, when switching from the first SIM car group to thesecond SIM card group is performed in step 203, each of the wirelessmodems can use a SIM card from the second SIM card group. If any two SIMcards that can be used by the same wireless modem are classified intothe same SIM card group, such as the first SIM card group, that samewireless modem cannot use any SIM card after switching to the second SIMcard group. For illustration purpose, SIM cards 111 a, 111 b, 112 a, 113a, and 114 a are in the first SIM card group, and SIM cards 112 b, 113b, and 114 b are in the second SIM card group. In this illustration,after switching to the second SIM card group, only wireless modems 102,103 and 104 are connecting to networks using SIM cards 112 b, 113 b and114 b. Wireless modem 101 cannot use any of SIM cards 111 a and 111 bbecause both SIM cards 111 a and 111 b are in the first SIM card group.Wireless modem 101 therefore remains unused, and resources are notefficiently utilized. In contrast, when SIM cards 111 a is in the firstSIM card group, and SIM card 111 b is in the second SIM card group,after switching to the second SIM card group, all four wireless modems101, 102, 103, and 104 are being used to connect to networks using SIMcards 111 b, 112 b, 113 b and 114 b respectively.

FIG. 3A illustrates how step 203 is performed according to one of theembodiments of the present invention. When the switching condition issatisfied, wireless communication device 100 switches connection fromthe first SIM card group to the second SIM card group one by one.

In step 301, wireless communication device 100 switches connection fromSIM card 111 a to SIM card 111 b by disconnecting from the first networkand connecting to the second network using SIM card 111 b. SIM card 111b is comprised in the second SIM card group. Wireless communicationdevice 100 then determines in step 302 whether it is capable oftransmitting and receiving data through the second network using SIMcard 111 b. If wireless communication device 100 is not capable oftransmitting and receiving data using SIM card 111 b, step 302 isperformed and wireless communication device 100 continues receiving andtransmitting data using the SIM cards 112 a, 113 a and 114 a of thefirst group of SIM cards until it is capable of transmitting andreceiving data using SIM card 111 b. If wireless communication device100 is capable of receiving and transmitting data using SIM card 111 b,step 304 is performed. In step 304, wireless communication device 100switches connection from SIM card 112 a to 112 b by disconnecting fromthe first network and connecting to the second network using SIM card112 b. In step 306, wireless communication device 100 determines whetherit is capable of transmitting and receiving data using the connection ofSIM card 112 b through the second network. If it is not capable oftransmitting and receiving data through the second network using SIMcard 112 b, a wait is performed in step 305. If wireless communicationdevice 100 is capable of receiving and transmitting data through thesecond network, wireless communication device 100 switches connectionfrom SIM card 113 a to 113 b in step 307 by disconnecting from the firstnetwork and connecting to the second network associated with SIM card113 b. If the switching is successful and wireless communication device100 determines that it is capable of transmitting and receiving datathrough the second network using SIM card 113 b in step 309, wirelesscommunication device 100 switches connection from SIM card 114 a to 114b in step 310 by disconnecting from the first network and connecting tothe second network using SIM card 114 b. Thus wireless communicationdevice completes the switching from the first SIM card group to thesecond SIM card group as the switching condition is found to besatisfied.

In one variant, the wait in steps 302, 305 and 308 are only performedfor a predefined time period. For example, when the predefined timeperiod is over in step 302, step 304 is performed regardless of whetherdata can be transmitted or received using SIM card 111 b.

It should be appreciated that, if wireless communication device 100switches connection from all SIM cards of the first SIM card group toall SIM cards of second SIM card group at the same time or substantiallythe same time, Internet connectivity of the wireless communicationdevice 100 may be disrupted temporarily. In this case, during theswitching, the connections established using the first SIM card groupare disconnected, while no connection has been established yet using thesecond SIM card. It is common that it may take time to establish aconnection using a SIM card. Therefore, in the present invention, onlywhen connection has been established successfully using at least one ofthe SIM cards of the second SIM card group, the wireless communicationdevice 100 proceeds to connect using the SIM cards of the second SIMcard group. At a given time, wireless communication device 100 hasInternet connectivity using at least one SIM card from the first SIMcard group or the second SIM card group.

FIG. 3B illustrates how step 203 is performed according to one of theembodiments of the present invention. When the switching condition issatisfied, wireless communication device 100 switches connection fromthe first SIM card group to the second SIM card group one by one. Thefirst SIM card group comprises SIM cards 111 a, 112 a, 113 a and 114 a.The second SIM card group comprises SIM cards 111 b, 112 b, 113 b, and114 b. Wireless modems 101-104 are capable of using SIM cards asillustrated in FIG. 1C. In step 311, wireless communication device 100switches connection from SIM card 111 a to SIM card 111 b bydisconnecting wireless modem 101 from the first network and connectingto the second network using SIM card 111 b. Wireless communicationdevice 100 then determines in step 312, whether it is capable oftransmitting and receiving data through the second network using SIMcard 111 b. If wireless communication device 100 is not capable oftransmitting and receiving data using SIM card 111 b, step 313 isperformed and wireless modem 101 again starts using SIM card 111 a forreceiving and transmitting data. If wireless communication device 100 iscapable of receiving and transmitting data using SIM card 111 b, step313 is not performed, and wireless modem 101 continues using SIM card111 b for receiving and transmitting data.

In step 314, wireless communication device 100 switches connection fromSIM card 112 a to SIM card 112 b by disconnecting wireless modem 102from the first network and connecting to the second network using SIMcard 112 b. Wireless communication device 100 then determines in step315 whether it is capable of transmitting and receiving data through thesecond network using SIM card 112 b. If wireless communication device100 is not capable of transmitting and receiving data using SIM card 112b, step 316 is performed and wireless modem 101 again starts using SIMcard 112 a for receiving and transmitting data. If wirelesscommunication device 100 is capable of receiving and transmitting datausing SIM card 112 b, step 316 is not performed, and wireless modem 102continues using SIM card 112 b for receiving and transmitting data.

In step 317, wireless communication device 100 switches connection fromSIM card 113 a to SIM card 113 b by disconnecting wireless modem 103from the first network and connecting to the second network using SIMcard 113 b. Wireless communication device 100 then determines in step318 whether it is capable of transmitting and receiving data through thesecond network using SIM card 113 b. If wireless communication device100 is not capable of transmitting and receiving data using SIM card 113b, step 319 is performed and wireless modem 101 again starts using SIMcard 113 a for receiving and transmitting data. If wirelesscommunication device 100 is capable of receiving and transmitting datausing SIM card 113 b, step 319 is not performed, and wireless modem 103continues using SIM card 113 b for receiving and transmitting data.

In step 320, wireless communication device 100 switches connection fromSIM card 114 a to SIM card 114 b by disconnecting wireless modem 104from the first network and connecting to the second network using SIMcard 114 b. Wireless communication device 100 then determines in step321 whether it is capable of transmitting and receiving data through thesecond network using SIM card 114 b. If wireless communication device100 is not capable of transmitting and receiving data using SIM card 114b, step 322 is performed and wireless modem 104 again starts using SIMcard 114 a for receiving and transmitting data. If wirelesscommunication device 100 is capable of receiving and transmitting datausing SIM card 114 b, step 322 is not performed, and wireless modem 104continues using SIM card 114 b for receiving and transmitting data. Theprocess ends in step 323.

It should be noted that not all of the plurality of SIM cards may beavailable for being used to connect to networks for various reasons. Forexample, among the plurality of SIM cards of wireless communicationdevice 100, one or more SIM cards associated with prepaid services maynot be available for use due to credit balance running low. In anotherexample, one or more SIM cards may not be available due to network(s)associated with the one or more SIM cards being down for maintenance. Inanother example, one or more SIM cards may not be available whenwireless communication device 100 is out of coverage area of network(s)associated with the one or more SIM cards. Therefore, when selecting SIMcards for transmitting and receiving data, wireless communication device100 only selects one or more of the available SIM cards.

FIG. 4A is a flowchart illustrating a process according to one of theembodiments of the present invention. As illustrated in FIG. 1A,wireless communication device 100 houses a plurality of SIM cards 111a-114 b. Wireless communication device 100 uses wireless modems 101,102, and 103 for connecting to network(s) associated with the pluralityof SIM cards. Wireless communication device 100 selects one or more ofavailable SIM cards for connecting to one or more networks respectively.As wireless communication device 100 comprises three wireless modems101-103 for connecting to networks, any three of the available SIM cardsare selected in step 401. Wireless modem 104 is used as a monitoringwireless modem which monitors networks available for connection atwireless communication device 100.

In one example of this embodiment, SIM cards 111 a, 111 b, 112 a, 112 b,113 a, 114 a, 114 b are available SIM cards, and SIM cards 111 a, 112 b,and 114 a are selected in step 401. Viewing in conjunction with FIG. 1D,wireless modems 101-104 are capable of connecting to any of the SIMcards 111 a-114 b. When SIM cards 111 a, 112 b and 114 a are selected instep 401, SIM cards 111 b, 112 a, 113 a, and 114 b are remainingavailable SIM cards. Wireless communication device 100 connects to afirst network using SIM cards 111 a and 114 a, and connects to a secondnetwork using SIM card 112 b. In step 402, it is determined thatwireless communication device 100 is unable to transmit or receive datausing SIM card 112 b through the second network. Wireless communicationdevice 100 then selects a SIM card from the remaining available SIMcards, such as SIM card 112 a, for connecting to a third network in step403. In order to perform the selection at step 403, wireless modem 104monitors connection of each of the remaining available SIM cards. In onevariant, the selection at step 403 is performed randomly, or based onone or more factors such as usage price, usage cap, coverage area ofcorresponding network, and connection bandwidth. Table 0007 illustratesconnections of SIM cards after step 401, and after step 403.

TABLE 0007 SIM cards After step 401 After step 403 SIM card 111aConnected to First Connected to First Network Network SIM card 111bAvailable Available SIM card 112a Available Connected to Third networkSIM card 112b Connected to Second Not available Network SIM card 113aAvailable Available SIM card 113b Not available Not available SIM card114a Connected to First Connected to First Network Network SIM card 114bAvailable Available

In another example of this embodiment, SIM cards 111 a, 111 b, 112 a,112 b, 113 a, 114 a, 114 b are available SIM cards, and SIM cards 111 a,112 b and 113 a are selected in step 401. When SIM cards 111 a, 112 band 113 a are selected in step 401, SIM cards 111 b, 112 a, 114 a, and114 b are remaining available SIM cards. Viewing in conjunction withFIG. 1D, wireless modems 101-104 are capable of connecting to any of theSIM cards 111 a-114 b. Wireless communication device 100 connects to afirst network using SIM card 111 a through wireless modem 101, a secondnetwork using SIM card 112 b through wireless modem 102, and a thirdnetwork using SIM card 113 a through wireless modem 103. Wirelesscommunication device 100 transmits and receive data through the first,second and third network. In step 402, wireless communication device 100determines whether it is unable to transmit or receive data using one ormore SIM card through the first, second or third network. If wirelesscommunication device 100 is unable to transmit or receive data using anyof SIM cards 111 a, 112 b, or 113 a, step 403 is performed. For example,when data cannot be transmitted using SIM card 112 b, wirelesscommunication device 100 selects another SIM card from the remainingavailable SIM cards instead of SIM card 112 b in step 403. Therefore,wireless communication device 100 no longer sends or receives data usingthe second network using SIM card 112 b. As wireless modem 102 stopsusing SIM card 112 b, wireless modem 102 uses the selected SIM card fortransmitting and receiving data after step 403. In order to perform step403, wireless modem 104 monitors available networks using the remainingavailable SIM cards. The details of step 403 is described in FIG. 4B.

FIG. 4B is a flowchart illustrating a process of how step 403 isperformed. In step 411, wireless communication device 100 determineswhich SIM cards are remaining available SIM cards. In one example, SIMcards 111 b, 112 a, 114 a, and 114 b are the remaining available SIMcards. In step 412, wireless modem 104 monitors networks of each of theremaining available SIM cards by using each of the remaining availableSIM cards one by one. For example, wireless modem 104 first uses SIMcard 111 b to connect to a fourth network, and transmits predefined datafor determining the performance Performance information may be stored ina storage medium of wireless communication device 100. Wireless modem104 repeats the same steps for SIM cards 112 a, 114 a and 114 b. In step413, wireless communication device 100 selects one of the remainingavailable SIM cards based on the performance information. If performanceof the fourth network using SIM card 112 a is determined to be the best,SIM card 112 a is selected in step 413. In one variant, wireless modem104 is capable of using any of SIM cards 111 a-114 b, wireless modem 101is capable of using only SIM cards 111 a or 111 b, wireless modem 102 iscapable of using only SIM cards 112 a or 112 b, and wireless modem 103is capable of using only SIM cards 113 a or 113 b. Therefore, wirelessmodem 104 can perform step 412 and monitor networks of each of theremaining available SIM cards. When SIM card 112 a is selected in step413, SIM card 112 a is used by wireless modem 102 for datacommunication, because wireless modems 103 and 104 are not capable ofusing SIM card 112 a.

According to one of the embodiments of the present invention, wirelesscommunication device 100 uses one of the plurality of available SIMcards. SIM cards that are available for use, but are not being used at agiven time are regarded as remaining available SIM cards.

In one variant, user or administrator of wireless communication device100 specifies the number of SIM cards to be used simultaneously fortransmitting and receiving data. When there are three wireless modemsavailable for connecting to networks, the user or administrator mayspecify number of SIM cards to be zero, one, two or three. The user oradministrator is not able to specify the number of SIM cards to be morethan three, as there are only three wireless modems available forconnecting to networks.

In step 402, wireless communication device 100 may be unable to use aSIM card for various reasons. For example, connection using SIM card 112b may fail or there might be an error in connecting using SIM card 112b. Wireless communication device 100 then connects using another SIMcard. In another example, wireless communication device 100 stopstransmitting and receiving data using SIM card 112 b and starts usinganother SIM card due to a switching condition, such that step 403 isperformed when the switching condition is satisfied.

According to one of the embodiments, when wireless communication device100 switches from a first SIM card group to a second SIM card group, orswitches from one SIM card to another SIM card, a notification is sentto a user or administrator of wireless communication device 100. Thenotification can be an email, an instant message, a short messageservice (SMS), a phone call, a message shown in a web page, a popupmessage at a web page, an alarm, a sound, a blinking light, alight-emitting diode (LED) being turned on and other indicators that canbe used to indicating an event has occurred.

According to one of the embodiments of the present invention, wirelesscommunication device 100 establishes one or more end-to-end connectionsusing the plurality of available SIM cards. The one or more end-to-endconnections are bonded to form an aggregated end-to-end connection.Using an aggregated end-to-end connection may result in higher bandwidthwhich is a combined bandwidth of the individual end-to-end connections.The aggregated end-to-end connection is perceived as one end-to-endconnection by sessions or applications that are using it. In oneexample, the end-to-end connection may be a VPN connection.

FIG. 5 illustrates network coverage areas of various networks andgeographical locations in which wireless communication device 100 may bedeployed according to various embodiments of the present invention.Coverage areas of networks 511, 512, and 513 are illustrated withcircles labelled 511, 512 and 513 respectively. It should be noted thatthe coverage areas are illustrated with circles only for easyillustration. Wireless communication device 100 can be deployed in thedifferent locations, i.e., locations 501-507. Locations 501-507illustrate geographical locations at which wireless communication device100 may be located, and behavior of wireless communication device 100 atthe locations 501-507 are discussed below according to variousembodiments of the present invention. In one example of this embodiment,it is possible that one or more SIM cards are used to connect to network511 while the others are used to connect to network 512. Forillustration purposes, wireless communication device 100 houses four SIMcards in the following examples. It should be appreciated that the scopeof the invention is not limited to wireless communication device 100housing only four SIM cards, such that one or more SIM cards may behoused at wireless communication device 100.

In one variant, each SIM card can be used for connecting to only onenetwork. When wireless communication device 100 is in a coverage area ofa network corresponding to a SIM card, the SIM card connects to thenetwork. When wireless communication device 100 is not in the coveragearea of the network, the SIM card is not connected to any network.

In one variant, each SIM card can be used for connecting to at least twonetworks, and a network is selected for connecting according toperformance or according to coverage area. Roaming functionality isdisabled. For example, if a SIM card can connect to a first network anda second network, and wireless communication device 100 is in a locationthat is in both the first and second networks coverage area, the SIMcard connects to the network which has better performance. In anotherexample, when wireless communication device 100 is in a location that isin the coverage area of the first network, but is not in the coveragearea of the second network, the SIM card connects to the first network.

In one variant, when wireless communication device 100 uses a pluralityof SIM cards, number of networks that wireless communication device 100connects to is maximized, i.e. wireless communication device 100connects to as many networks as possible. For example, each of theplurality of SIM cards can be used for connecting to a first and secondnetwork, at least one SIM card connects to the first network, and atleast one SIM card connects to a second network for network diversity.Network diversity is to maximize the number of networks connected. Ifperformance of the first network is better than the second network, oneof the plurality of SIM card connects to the second network, and rest ofthe plurality of SIM cards connect to the first network.

In one variant, roaming functionality is enabled, but it is notpreferred to use roaming service. Each SIM card can be used forconnecting to a first at least one network without using roamingservice, and can be used for connecting to at least one roaming networkusing roaming service. When wireless communication device 100 is in alocation that is in the coverage area of a roaming network, and is notin the coverage area of the first at least one network, a SIM cardconnects to the roaming network. However, when wireless communicationdevice 100 is in a location that is in the coverage area of the first atleast one network, the SIM card does not connect to the roaming network,even though it can be used for connecting to the roaming network,because using roaming service is not preferred.

The implementations consider at least the next four scenarios. Table0008 illustrates connections of SIM cards in different scenarios. In thescenarios described below, wireless communication device houses four SIMcards 111 a-114 a, and uses four different wireless modems, i.e.wireless modems 101-104 for connecting to networks associated with thefour SIM cards respectively. SIM cards 111 a-114 a may or may not beclassified into different groups for the purposes of the followingscenarios. In the following Table 0008, “Connect to 511” means that whenwireless communication device 100 is in the corresponding location, theSIM card is used for connecting to network 511. Similarly, “Connect to512” and “Connect to 513” means that the SIM card is used for connectingto networks 512 and 513 respectively. “No connection” means that the SIMcard is not used for connecting to any network in the correspondinglocation. “Can connect to 511 or 512” means that the SIM card is capableof connecting to networks 511 and 512, but it only connects to one ofthe networks 511 and 512.

TABLE 0008 Location SIM card 111a SIM card 112a SIM card 113a SIM card114a First Scenario- 500 Connect to Connect to No No 111a - 511 511 511connection connection 112a - 511 501 Connect to Connect to Connect toConnect to 113a - 512 511 511 512 512 114a - 512 502 Connect to Connectto Connect to Connect to 511 511 512 512 503 Connect to Connect toConnect to Connect to 511 511 512 512 504 No No Connect to Connect toconnection connection 512 512 505 Connect to Connect to No No 511 511connection connection 506 No No Connect to Connect to connectionconnection 512 512 507 No No No No connection connection connectionconnection Second Scenario- 500 Connect to Connect to Connect to Connectto 111a - 511, 512 511 511 511 511 112a - 511, 512 501 Connect toConnect to Connect to Connect to 113a - 511, 512 511 511 511 512 114a -511, 512 502 Connect to Connect to Connect to Connect to 511 511 512 512503 Connect to Connect to Connect to Connect to 511 512 512 512 504Connect to Connect to Connect to Connect to 512 512 512 512 505 Connectto Connect to Connect to Connect to 511 511 511 511 506 Connect toConnect to Connect to Connect to 512 512 512 512 507 No No No Noconnection connection connection connection Third Scenario- 500 Connectto Connect to Connect to Connect to 111a - 511, 512, 511 511 511 511roam in 513 501 Connect to Connect to Connect to Connect to 112a - 511,512, 511 511 511 512 roam in 513 502 Connect to Connect to Connect toConnect to 113a - 511, 512, 511 511 512 512 roam in 513 503 Connect toConnect to Connect to Connect to 114a - 511, 512, 511 512 512 512 roamin 513 504 Connect to Connect to Connect to Connect to (roaming not 512512 512 512 preferred) 505 Connect to Connect to Connect to Connect to511 511 511 511 506 Connect to Connect to Connect to Connect to 512 512512 512 507 Connect to Connect to Connect to Connect to 513 513 513 513Fourth Scenario- 500 Connect to Connect to Connect to Connect to 111a -511, 512, 511 511 511 511 513 501 Can connect Can connect Can connectConnect to 112a - 511, 512, to 511 or 512 to 511 or 512 to 511 or 512512 roam in 513 502 Can connect Can connect Can connect Connect to113a - 511, 512 to 511 or 512 to 511 or 512 to 511 or 512 512 114a -511, prefer 503 Can connect Can connect Can connect Connect to 512 to511 or 512 to 511 or 512 to 511 or 512 512 504 Connect to Connect toConnect to Connect to 512 512 512 512 505 Can connect Connect to Connectto Connect to to 511 or 513 511 511 511 506 Connect to Connect toConnect to Connect to 512 512 512 512 507 Connect to Connect to No No513 513 connection connection

In a first scenario, SIM cards 111 a and 112 a are capable of connectingto network 511 and SIM cards 113 a & 114 a are capable of connecting tonetwork 512. In this scenario, when wireless communication device 100 isin location 500 or 505, it connects to network 511 using SIM card 111 aand/or SIM card 112 a. In locations 500 and 505, wireless communicationdevice 100 is not able to connect to network 512 using SIM cards 113 aand 114 a because locations 500 and 505 are outside the coverage area ofnetwork 512. When wireless communication device 100 is in locations 501,502, or 503, SIM cards 111 a and 112 a are used to connect to network511 while SIM cards 113 a and 114 a are used to connect with network512. When wireless communication device 100 is in location 504 or 506,there is no network connection using SIM 111 a & SIM 112 a, as locations504 and 506 are outside the coverage area of network 511, while SIM 113a and SIM 114 a are connected to network 512. In one embodiment of thepresent invention, when the wireless communication device 100 is inlocation 507, the wireless communication device 100 is not connected toany network 511 or 512, as location 507 is outside coverage areas ofboth networks 511 and 512.

In the second scenario, SIM cards 111 a, 112 a, 113 a and 114 a are allcapable of connecting to networks 511 and 512 but not to network 513. Itshould be noted that at a given time, each SIM card only connects to oneof the network 511 or 512, and one SIM card cannot connect to bothnetworks 511 and 512 at the same time. In one of the embodiments of thepresent invention, wireless communication device is configured such thatnetwork diversity is preferred. For example, when wireless communicationdevice 100 is within the coverage areas of both network 511 and network512, at least one wireless modem connects to network 511 and at leastone wireless modem connects to network 512, even when the performancethrough network 511 is better than the performance through network 512.In this case, if connection to network 511 fails for some reason,wireless communication device 100 is still connected to network 512 andwill still have Internet connectivity. Connection to network 511 mayfail due to many reasons, such as network maintenance, hardware failure,etc. Roaming functionality is disabled for all SIM cards. According tothe second scenario, when wireless communication device 100 is inlocation 500 or 505, all the SIM cards are connected to network 511since wireless communication device 100 is outside the coverage area ofnetwork 512. When communication device 100 is in location 501, SIM cards111 a, 112 a, and 113 a are connected to the network 511 for betterperformance, while SIM 114 a is connected to the network 512 in order tohave network diversity.

Network performance may be determined based on different performanceparameter like throughput, error rates, quality of service, bandwidth,capacity, signal level, signal-to-noise ratio, etc. When wirelesscommunication device 100 is in location 502, SIM 111 a and SIM 112 a areconnected to network 511 for better performance SIM 113 a is connectedto network 512, as network performance is determined to be better whenSIM card 113 a is connected to network 512 compared to when SIM card 113a is connected to network 511. SIM 114 a is connected to network 512 inorder to have the network diversity. When the wireless communicationdevice is in location 503, SIM 111 a is connected to network 511 inorder to have the network diversity while SIM cards 112 a, 113 a, and114 a are connected to network 512 for better performance. When thewireless communication device 100 is in location 504 or 506, all fourSIM cards are connected to network 512 since wireless communicationdevice 100 is out of the coverage area of network 511. When the wirelesscommunication device 100 is in location 507, all four SIM cards aredisconnected and wireless communication device 100 is not connected toany network since wireless communication device is out of the coveragearea of both networks 511 and 512 and all four SIM cards are not capableof being used to connect to network 513.

In the third scenario of the present invention, all four SIM cards 111a-114 a are capable of connecting to networks 511 and 512 and alsocapable of connecting to network 513 by using roaming service when thewireless communication device 100 is located within the network coveragearea of network 513. In the third scenario, although roamingfunctionality is enabled, it is not preferred to use roaming service.Roaming service is only used when wireless communication device 100 isnot capable of connecting to any other network such as networks 511 and512. In one example of the present invention, when wirelesscommunication device 100 is in location 500 or 505, all four SIM cardsare connected to the network 511 since wireless communication device 100is out of the coverage area of network 512. In location 505, even thoughwireless communication device 100 is within coverage area of network513, SIM cards 111 a-114 a connect to network 511, and not to network513 because using roaming service is not preferred. There are no SIMcards which can connect to network 513 without using roaming services,and using roaming services is not preferred. When wireless communicationdevice 100 is in location 501, SIM cards 111 a, 112 a and 113 a areconnected to the network 511, as network performance through network 511is better than network performance through network 512 in location 501.Network performance may be determined based on different performanceparameter like throughput, error rates, quality of service, bandwidth,capacity, signal level, signal-to-noise ratio, etc. SIM 114 a isconnected to network 512 to make sure that wireless communication device100 is connected to a network even if one of the network connectionfails. Failure of connection between wireless modem i.e., wireless modem101-104 to any network can happen for various reason like maintenance ofnetwork device, equipment failure, congestion, operator error etc. Whenwireless communication device 100 is in location 502, SIM cards 111 aand 112 a are connected to network 511 for better performance SIM 113 ais connected to network 512 for better performance. SIM 114 a isconnected to network 512 in order to have network diversity. In oneexample of the present invention, when wireless communication device 100is in location 503, SIM 111 a is connected to the network 511 in orderto have the network diversity while the SIM cards 112 a, 113 a and 114 aare connected to the network 512 since in that location performance ofnetwork 512 is better than the performance of network 511. When thewireless communication device is in location 504 or 506, all four SIMcards are connected to network 512 since wireless communication device100 is out of the coverage area of network 511. SIM cards 111 a-114 acannot connect to network 513 without using roaming service and usingroaming service isn't preferred. When the communication device is inlocation 507, all four SIM cards are connected to network 513 sincewireless communication device 100 is out of the coverage areas of bothnetworks 511 and 512. Although using roaming service is not preferred,SIM cards 111 a-114 a connect to network 513 in order to have Internetconnectivity at wireless communication device 100.

In the fourth scenario, SIM 111 a can be used for connecting to networks511, 512, and 513, SIM 112 a can be used for connecting to networks 511and 512, and also capable of using the network 513 using roamingservice, and SIM 113 a can be used for connecting to networks 511 and512. SIM 114 a can be used for connecting to networks 511 and 512, butprefer network 512 for various reason like usage price, data usagecapacity, bandwidth of that network or the like. In one example of thefourth scenario, when wireless communication device 100 is in location500, all four SIM cards are connected to network 511 since wirelesscommunication device 100 is out of the coverage areas of networks 512and 513. When the device is in locations 501, 502, and 503, the SIMcards 111 a, 112 a, and 113 a connects to either network 511 or 512 butSIM 114 a only connects to network 512 since it is the preferred networkfor SIM 114 a. In one variant of the present invention, wirelesscommunication device 100 may prefer one network over another network forvarious reason like usage price, performance, usage limit, and/orbandwidth etc. of that network when wireless communication device iswithin the network coverage area of both networks. When the wirelesscommunication device 100 is in location 504, all four SIM cards areconnected to network 512 since wireless communication device is out ofthe coverage areas of the networks 511 and 513. When wirelesscommunication device is in location 505, SIM 111 a connects to eithernetwork 511 or 513. SIM 112 a is connected to network 511 since SIM 112a needs to use roaming service in order to connect to network 513 androaming service isn't preferred. SIM cards 113 a and 114 a are connectedto network 511 since SIM cards 113 a and 114 a are not capable ofconnecting to network 513 and wireless communication device 100 is outof the coverage area of network 512. When wireless communication device100 is in location 506, all four SIM cards will connect to network 512since wireless communication device 100 is out of the coverage area ofnetwork 511, and SIM cards 113 a and 114 a are not capable of connectingto network 513. SIM 112 a does not connect to network 513 as usingroaming services is not preferred. When wireless communication device100 is in location 507, SIM cards 111 a and 112 a are connected tonetwork 513 while SIM cards 113 a and 114 a are not connected to anynetwork. SIM cards 113 a and 114 a are not connected to any networkbecause they are not capable of connecting to network 513 and wirelesscommunication device 100 is out of the coverage areas of the networks511 and 512.

In one embodiment of the present invention, wireless communicationdevice 100 determines its geographical location by the strength of thenetwork signals. For instance, if wireless communication device 100 islocated at the middle of the coverage area of network 511, the signalstrength would be the highest for a wireless modem, such as wirelessmodems 101-104, which is connected to network 511. In one variant of thepresent invention, a wireless modem cannot connect to the two differentnetwork at the same time. If wireless communication device 100 islocated at the edge of the coverage area of network 511, the signalstrength for a wireless modem, such as wireless modems 101-104, which isconnected to network 511 would be comparatively lower. In this way,wireless communication device 100 can determine if it is located withinthe coverage area for a specific network. However, it may not bepossible in all cases since when one wireless modem is associated withone network, it may not able to find the signal strength of the othernetworks. For example, if the wireless modem 101 is connected to thenetwork 511, it is not possible for the wireless modem 101 to determinethe signal strength of the networks 512 or 513. Only the other wirelessmodems i.e., wireless modems 102, 103 and/or 104, can find the signalstrength of the other networks i.e., networks 512 and 513.

In one embodiment of the present invention, the wireless communicationdevice 100 can detect its position when a wireless modem is switched toanother network or the wireless modem is using the roamingfunctionality. For example, if a wireless modem i.e., wireless modem 102is switched from the network 511 to the network 512, wirelesscommunication device 100 can determine that it is located within thecoverage area of network 512. In one variant of the present invention,when any one of the wireless modems 101-104 is using the roamingfunctionality, the wireless communication device 100 can determine whichnetwork's coverage area it is located in i.e., coverage area of network511, 512 and/or 513. For example, if the wireless modem 101 is using anetwork, such as network 512 using roaming services using the same SIMcard which was used to connect to another network i.e., network 511,wireless communication device 100 can determine that it is located inthe coverage area of network 512.

According to one of the embodiments of the present invention, wirelesscommunication device 100 connects to a GPS sensor to detect itsgeographical location.

According to one of the embodiments of the present invention, wirelesscommunication device 100 determines its geographical location based onnetwork identity of available networks. For example, when networkidentity of an available non-roaming network is provided by SmartoneMacau, wireless communication device 100 determines that itsgeographical location is in Macau. When network identity of an availablenon-roaming network is provided by PCCW, wireless communication device100 determines that its geographical location is in Hong Kong. Thenetwork identity is determined based on mobile country code (MCC) andmobile network code (MNC) of a network.

According to one of the embodiments of the present invention, wirelesscommunication device 100 uses SIM cards and wireless modems based, atleast in part, on mobile country code (MCC) of available networks. Auser or administrator can input a list of allowed mobile country codes(MCC) for each SIM card. The user or administrator uses a user interfacefor input the list of allowed MCC. It is common that there is apreferred network with a specific MCC for a SIM card, even when thewireless communication device 100 can use the SIM card for connecting toother networks with different MCCs. In one scenario, a SIM card ofVerizon Wireless has a preferred network in the United States of America(USA) with MCC 310. The SIM card may be able to connect to networks ofother regions with different MCC using roaming functionality, althoughnetworks with MCC other than MCC 310 may not be preferred. Therefore,the list of allowed MCC is used in order to avoid connecting tonon-preferred networks through any SIM card. In one example, asillustrated in FIG. 6A, the user inputs allowed MCCs for SIM cards intable 600. Table 600 may be stored as a database in a storage medium,such as secondary storage 132 of wireless communication device 100.Alternatively, table 600 may be stored in a remote server which can beaccessed by wireless communication device 100 through a network. Column601 is a list of SIM cards that can be used by a wireless modem forconnecting to a network with corresponding allowed MCC, and column 602is a list of allowed MCC for the SIM cards in column 601. Forillustration purpose, wireless communication device 100 houses four SIMcards 111 a, 112 a, 113 a, and 114 a. Allowed MCC for SIM card 111 a isMCC 208, allowed MCC for SIM card 112 a is MCC 460 (China), allowed MCCfor SIM card 113 a is MCC 208 (France) and MCC 234 (United Kingdom), andallowed MCC for SIM card 114 a is MCC 234 (United Kingdom).

FIG. 7 is a flowchart illustrating a process of using SIM cards based onnetwork identity according to one of the embodiments of the presentinvention. In step 701, wireless communication device 100 monitorsnetwork identities of available networks. Wireless modems 101-104 canuse SIM cards for scanning available networks in the geographical areaof wireless communication device 100, and determine MCC of the availablenetworks. In step 702, it is determined whether MCC of any availablenetworks match allowed MCC of any SIM cards. If an MCC of an availablenetwork does not match any of the allowed MCC, wireless communicationdevice 100 does not connect to the available network in step 705. If anMCC of an available network matches allowed MCC of any SIM card, in step703, wireless communication device 100 determines to connect to theavailable network using a SIM card whose allowed MCC matches the MCC ofthe available network. In step 704, one of the wireless modems 101-104uses the SIM card for connecting to the available network.

For illustration purpose, wireless communication device 100 is in theUnited Kingdom (UK). MCC of networks in the UK is MCC 234. Viewing FIG.7 in conjunction with FIG. 6A, when network identities are monitored instep 701, it is likely that MCC of most available networks are found tobe MCC 234, as wireless communication device 100 is in UK. In step 702,wireless communication device 100 determines whether MCC 234 matches anyallowed MCC in column 602 of table 600. It is then determined that MCC234 is an allowed MCC for SIM cards 113 a and 114 a. Therefore, in step703, wireless communication device 100 determines to use SIM cards 113 aand 114 a to connect to corresponding available networks with MCC 234for data communication. In one example of this embodiment, viewing inconjunction with FIG. 1D, any wireless modem 101-104 is capable of usingSIM cards 113 a and 114 a. For illustration purpose, wireless modem 101uses SIM card 113 a, and wireless modem 102 uses SIM card 114 a.Therefore, in step 704, wireless communication device 100 uses wirelessmodem 101 to connect to a first available network with MCC 234corresponding to SIM card 113 a, and also uses wireless modem 102 toconnect to a second available network with MCC 234 corresponding to SIMcard 114 a. The first available network and the second available networkmay be the same network, or may be two different networks. It ispossible that SIM cards 111 a and 112 a are capable of connecting toavailable networks using roaming service, but wireless communicationdevice 100 does not use SIM cards 111 a and 112 a to connect to anynetworks as MCC 234 is not an allowed MCC for SIM cards 111 a and 112 a.In another example of the same embodiment, viewing in conjunction withFIG. 1C, only wireless modem 103 is capable of using SIM card 113 a, andonly wireless modem 104 is capable of using SIM card 114 a. Therefore,in step 704, wireless modems 103 and 104 are used to connect to thefirst and second available networks respectively.

In one variant, it is possible that wireless modems 101-104 are onlyusable in specific geographical area(s). For example, wireless modems101-104 are manufactured and configured such that they can only be usedin Japan. In this case, even though there are available networks withMCC 234, and wireless communication device 100 determines to use SIMcards 113 a and 114 a in step 703, step 704 cannot be performed becausenone of the wireless modems 101-104 are capable of connecting to anetwork in the UK. As step 704 is not performed, the process ends, andwireless communication device 100 is not connected to any network. Inanother example, in step 702, wireless communication device 100determines whether MCC of any available network matches with allowed MCCof any SIM cards, and also determines whether MCC of any availablenetwork matches with allowed MCC of any wireless modem. If wirelessmodems 101-104 can only be used in Japan, allowed MCC of wireless modems101-104 is MCC 440. As MCC 234 does not match MCC 440, step 705 isperformed and wireless communication device 100 does not connect to anyof the available networks with MCC 234.

In another example, wireless communication device 100 is in Thailand.MCC of networks in Thailand is MCC 520. Viewing FIG. 7 in conjunctionwith FIG. 6A, when network identities are monitored in step 701, it islikely that MCC of most available networks are found to be MCC 520, aswireless communication device 100 is in Thailand. In step 702, wirelesscommunication device 100 determines whether MCC 520 matches any allowedMCC in column 602 of table 600. It is then determined in step 702 thatMCC 520 is not an allowed MCC for any of the SIM cards 111 a-114 a. Step705 is performed, and wireless communication device 100 does not use anyof the SIM cards 111 a-114 a to connect to any available networks withMCC 520.

According to one of the embodiments, wireless communication device 100uses SIM cards based, at least in part, on both MCC and mobile networkcode (MNC). For example, the user or administrator uses a user interfacefor input the list of allowed MCC and a list of allowed MNC for each SIMcard. As illustrated in FIG. 6B, the user inputs allowed MCCs and MNCsfor SIM cards in table 610. Column 601 is a list of SIM cards that canbe used by a wireless modem for connecting to a network withcorresponding allowed MCC-MNC, and column 603 is a list of allowedMCC-MNC for the SIM cards in column 601. For illustration purpose,wireless communication device 100 houses four SIM cards 111 a, 112 a,113 a, and 114 a. Allowed MCC-MNC for SIM card 111 a is MCC-MNC 208+02;a network Orange of France has MCC 208 and MNC 02. Allowed MCC-MNC forSIM card 112 a is MCC-MNC 460-01; a network China Unicom of China hasMCC 460 and MNC 01. Allowed MCC-MNC for SIM card 113 a is MCC-MNC 208-04and 234-03; a network Sisteer of France has MCC 208 and MNC 04 and anetwork Airtel-Vodafone of UK has MCC 234 and MNC 03. Allowed MCC-MNCfor SIM card 114 a is MCC-MNC 234-02; a network O2 (UK) of UK has MCC234 and MNC 02.

For illustration purpose, wireless communication device 100 is in theUnited Kingdom (UK). MCC of networks in the UK is MCC 234. Viewing FIG.7 in conjunction with FIG. 6B, when network identities, i.e. MCC-MNC,are monitored in step 701, it is likely that MCC of most availablenetworks are found to be MCC 234. In step 702, wireless communicationdevice 100 determines whether MCC-MNC of any available network matchesany allowed MCC-MNC in column 603 of table 610. If there is anyavailable network with MCC-MNC 234-03 or 234-02, it is determined thatMCC-MNC of an available network matches one of the allowed MCC-MNC. If afirst available network has MCC-MNC 234-03, SIM card 113 a is determinedto be used for connecting to the first available network in step 703. Instep 704, wireless communication device 100 uses a wireless modem thatis capable of using SIM card 113 a to connect to the first availablenetwork. If a second available network has MCC-MNC 234-02, SIM card 114a is determined to be used for connecting to the second availablenetwork in step 703. In step 704, wireless communication device 100 usesa wireless modem that is capable of using SIM card 114 a to connect tothe second available network. Wireless communication device 100 canconnect to both the first and second available network using SIM cards113 a and 114 a respectively. If there is no available network withMCC-MNC 234-03 or 234-02, it is determined that MCC-MNC of an availablenetwork does not match one of the allowed MCC-MNC, and wirelesscommunication device does not connect to any available network in step705. Therefore, even if there is an available network with MCC 234, buta different MNC, such as MNC 04, step 705 is performed because MCC-MNC234-04 is not in the list of allowed MCC-MNC.

According to one of the embodiments, the user or administrator inputsthe list of allowed MCC in column 602, and the list of allowed MCC-MNCin column 603 locally or remotely through a web interface, anapplication programming interface (API), a command line interface or aconsole.

The embodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1A is a block diagram illustrating the system of a wirelesscommunications device, according to one of the embodiments of thepresent invention;

FIG. 1B is a block diagram illustrating the architecture of the wirelesscommunication device, according to one of the embodiments of the presentinvention;

FIG. 1C is a block diagram illustrating the architecture of the wirelesscommunication device, according to one of the embodiments of the presentinvention;

FIG. 1D is a block diagram illustrating the architecture of the wirelesscommunication device, according to one of the embodiments of the presentinvention;

FIG. 2 is a flowchart illustrating a process according to one of theembodiments of the present invention;

FIG. 3A illustrates how step 203 of FIG. 2 is performed according to oneof the embodiments of the present invention;

FIG. 3B illustrates how step 203 of FIG. 2 is performed according to oneof the embodiments of the present invention;

FIG. 4A is a flowchart illustrating a process according to one of theembodiments of the present invention;

FIG. 4B is a flowchart illustrating a process of how step 403 of FIG. 4Ais performed according to one of the embodiments of the presentinvention;

FIG. 5 illustrates network coverage areas of various networks andgeographical locations in which a wireless communication device may bedeployed according to various embodiments of the present invention;

FIG. 6A is a table illustrating a list of allowed MCCs for SIM cardsaccording to one of the embodiments of the present invention;

FIG. 6B is a table illustrating a list of allowed MCCs and MNCs for SIMcards according to one of the embodiments of the present invention;

FIG. 7 is a flowchart illustrating a process according to one of theembodiments of the present invention.

The invention claimed is:
 1. A method for selecting at least one SIMcard at a wireless communication device, wherein the wirelesscommunication device is configured to house a plurality of SIM cards,the method comprising: determining whether a switching condition issatisfied; when a switching condition is satisfied: (a) selecting asecond SIM card group from a plurality of SIM cards groups; (b)disconnecting a connection established using a non-second group SIMcard, wherein non-second group SIM cards are SIM cards not in the secondSIM card group; (c) using a SIM card selected from the second SIM cardgroup for data communication; and (d) repeating steps (b) and (c) aftera connection can be established using the SIM card selected from thesecond SIM card group or a timeout until (i) the switching condition isno longer satisfied, (ii) no more SIM cards selected from the second SIMcard group can be used for data communications or (iii) no moreconnection is made using non-second group SIM cards; (e) classifying SIMcards according to a grouping policy after a new SIM card is insertedinto the wireless communication device or during initialization of thewireless communication device; (f) wherein the wireless communicationdevice is configured to use simultaneously at least one SIM card fromthe second SIM card group and at least one non-second group SIM card toestablish a plurality of connections.
 2. The method of claim 1, whereinthe switching condition is selected from a group consisting ofperformance, maximizing the number of networks, service provider, usagelimit, geographical location, time, user identity, and communicationtechnology.
 3. The method of claim 2, wherein the switching condition isthe geographical location and the geographical location is determinedusing a global positioning system (GPS) sensor, based on signal strengthof networks, and network identity.
 4. The method of claim 3, wherein thenetwork identity is determined based on mobile country code (MCC) andmobile network code (MNC) of a network.
 5. The method of claim 1,wherein the grouping policy is selected from a group consisting ofgeographical coverage area, connection bandwidth, time, usage price,usage limit, and signal quality.
 6. The method of claim 5, wherein thegrouping policy for the second SIM card group is a second geographicalcoverage area; and wherein the switching condition is satisfied when thewireless communication device moves from a geographical coverage areaassociated with non-second group SIM card to the second geographicalcoverage area.
 7. The method of claim 1, wherein the wirelesscommunication device comprises a plurality of wireless modems, whereinthe plurality of SIM cards connect to available networks using theplurality of wireless modems, wherein at least one wireless modem isused for monitoring signal strength of remaining available networks. 8.The method of claim 1, wherein the plurality of SIM cards establish aplurality of end-to-end connections, and wherein the plurality ofend-to-end connections are bonded to form an aggregated end-to-endconnection.
 9. The method of claim 1, further comprising connecting to anew network when the wireless communication device is capable ofconnecting to the new network and the switching condition is to maximizethe number of networks connected.
 10. The method of claim 1, wherein theSIM card selected from the second SIM card group is capable of usingroaming service; and wherein the SIM card selected from the second SIMcard group connects to a network using roaming service only when the SIMcard selected from the second SIM card group cannot connect to anynetwork not using roaming service.
 11. A wireless communication devicefor selecting at least one SIM card, wherein the wireless communicationdevice is configured to house a plurality of SIM cards, the wirelesscommunication device comprising: a plurality of wireless modems; aplurality of network interfaces; at least one main memory; at least oneprocessing unit; at least one secondary storage storing programinstructions executable by the at least one processing unit for thefollowing steps: determining whether a switching condition is satisfied;when a switching condition is satisfied: (a) selecting a second SIM cardgroup from the plurality of SIM cards groups; (b) disconnecting aconnection established using a non-second group SIM card, whereinnon-second group SIM cards are SIM cards not in the second SIM cardgroup; (c) using a SIM card selected from the second SIM card group fordata communication; and (d) repeating steps (b) and (c) after aconnection can be established using the SIM card selected from thesecond SIM card group or a timeout until (i) the switching condition isno longer satisfied, (ii) no more SIM cards selected from the second SIMcard group can be used for data communications or (iii) no moreconnection is made using non-second group SIM cards; (e) classifying SIMcards according to a grouping policy after a new SIM card is insertedinto the wireless communication device or during initialization of thewireless communication device; and (f) wherein the wirelesscommunication device is configured to use simultaneously at least oneSIM card from the second SIM card group and at least one non-secondgroup SIM card to establish a plurality of connections.
 12. The wirelesscommunication device of claim 11, wherein the switching condition isselected from a group consisting of performance, maximizing the numberof networks, service provider, usage limit, geographical location, time,user identity, and communication technology.
 13. The wirelesscommunication device of claim 12, wherein the switching condition is thegeographical location and the geographical location is determined usinga global positioning system (GPS) sensor, based on signal strength ofnetworks, and network identity.
 14. The wireless communication device ofclaim 13, wherein the network identity is determined based on mobilecountry code (MCC) and mobile network code (MNC) of a network.
 15. Thewireless communication device of claim 11, wherein the grouping policyis selected from a group consisting of geographical coverage area,connection bandwidth, time, usage price, usage limit, and signalquality.
 16. The wireless communication device of claim 15, wherein thegrouping policy for the second SIM card group is a second geographicalcoverage area; and wherein the switching condition is satisfied when thewireless communication device moves from a geographical coverage areaassociated with non-second group SIM card to the second geographicalcoverage area.
 17. The wireless communication device of claim 11,wherein the plurality of SIM cards connect to available networks usingthe plurality of wireless modems, wherein at least one wireless modem isused for monitoring signal strength of remaining available networks. 18.The wireless communication device of claim 11, wherein the plurality ofSIM cards establish a plurality of end-to-end connections, and whereinthe plurality of end-to-end connections are bonded to form an aggregatedend-to-end connection.
 19. The wireless communication device of claim11, wherein the secondary storage stores program instructions forconnecting to a new network when the wireless communication device iscapable of connecting to the new network and the switching condition isto maximize the number of different networks connected.
 20. The wirelesscommunication device of claim 11, wherein the at least one SIM card ofthe second SIM card group is capable of using roaming service; andwherein the at least one SIM card of the second SIM card group connectsto a network using roaming service only when the at least one SIM cardof the second SIM card group cannot connect to any network not usingroaming service.